package com.dyrj.jzb.po;


import com.alibaba.fastjson.JSON;

import java.util.HashMap;

/**
 * KFEJZB6048	查询银行提现退单信息	BankWithdrawCashBackQuery
 * 通过大小额支付系统进行的提现交易，会存在被收款行退票的情况。本接口用于查询此类退票交易的记录，可以退票日期为区间查询该段时间区间内的退票记录。
 * 退单情况体现为原提现流水成功，但会有一笔退回来的新入账流水，提现的子账户余额重新自动增加。举例：A提现100元，该笔提现指令显示提现成功，A的余额减少100元。后续若退回来了，平台会查询到A有100元的入账，A的余额增加100元。通过此接口可以知道该笔入账是原来提现操作所退回来的。
 */
public class Po6048BankWithdrawCashBackQuery extends PoBase{

    //功能标志 1-提现退票 2-小额鉴权退票
    private String FunctionFlag;
    //资金汇总账号
    private String FundSummaryAcctNo;
    //开始日期 若是指定时间段查询，则必输，当查询全部时，不起作用	格式：20181201
    private String StartDate;
    //终止日期 若是指定时间段查询，则必输，当查询全部时，不起作用
    private String EndDate;
    //页码 起始值为1，每次最多返回20条记录，第二页返回的记录数为第21至40条记录，第三页为41至60条记录，顺序均按照建立时间的先后
    private String PageNum;
    //保留域
    private String ReservedMsg;

    //输出  本次交易返回查询结果记录数
    private String ResultNum;

    /**
     OldTranSeqNo	原提现的交易流水号
     OldFrontSeqNo	原提现的见证系统流水号
     OldMarketSeqNo	原提现的市场流水号
     OldAddMsg	原提现的附言信息
     RejectBillReason	退票原因
     RejectBillDate	退票日期
     RejectInAcctTranSeqNo	退票入账的交易流水号
     RejectInAcctTranAmt	退票入账的交易金额
     RejectInPayerAcctNo	退票入账的付款账号
     RejectInPayerAcctName	退票入账的付款户名
     RejectInPayerBranchId	退票入账的付款方行号
     RejectInPayerBranchName	退票入账的付款方行名
     PayeeWitnessSubAcctNo	退票入账的收款方见证子账户
     PayeeFrontSeqNo	退票入账的收款方见证系统流水号
     ReservedMsgOne	保留域1
     ReservedMsgTwo	保留域2
     ReservedMsgThree	保留域3

     * @return
     */
    //输出  保留域
//    private String ReservedMsg;

    public String getReqPara() {
        HashMap paraKeyDict = new HashMap();
        paraKeyDict.put("CnsmrSeqNo",this.getCnsmrSeqNo());
        paraKeyDict.put("MrchCode",this.getMrchCode());
        paraKeyDict.put("FunctionFlag",this.getFunctionFlag());
        paraKeyDict.put("FundSummaryAcctNo",this.getFundSummaryAcctNo());
        paraKeyDict.put("StartDate",this.getStartDate());
        paraKeyDict.put("EndDate",this.getEndDate());
        paraKeyDict.put("ReservedMsg",this.getReservedMsg());
        return JSON.toJSONString(paraKeyDict);
    }

    public String getFunctionFlag() {
        return FunctionFlag;
    }

    public void setFunctionFlag(String functionFlag) {
        FunctionFlag = functionFlag;
    }

    public String getFundSummaryAcctNo() {
        return FundSummaryAcctNo;
    }

    public void setFundSummaryAcctNo(String fundSummaryAcctNo) {
        FundSummaryAcctNo = fundSummaryAcctNo;
    }

    public String getStartDate() {
        return StartDate;
    }

    public void setStartDate(String startDate) {
        StartDate = startDate;
    }

    public String getEndDate() {
        return EndDate;
    }

    public void setEndDate(String endDate) {
        EndDate = endDate;
    }

    public String getPageNum() {
        return PageNum;
    }

    public void setPageNum(String pageNum) {
        PageNum = pageNum;
    }

    public String getReservedMsg() {
        return ReservedMsg;
    }

    public void setReservedMsg(String reservedMsg) {
        ReservedMsg = reservedMsg;
    }

    public String getResultNum() {
        return ResultNum;
    }

    public void setResultNum(String resultNum) {
        ResultNum = resultNum;
    }
}
